package com.chaodev.base.service;

import com.github.pagehelper.PageInfo;
import com.chaodev.base.model.DataPageVO;
import com.chaodev.base.model.DictDetail;
import com.chaodev.base.model.Dict;
import com.chaodev.base.model.ZtreeModel;

import java.util.List;
import java.util.Map;

public interface IDictService {

    /**
     * 查询字典分页列表
     *
     * @param dataPage
     * @return
     */
    PageInfo<Dict> dictQuery(DataPageVO dataPage);

    /**
     * 修改或新增字典信息
     *
     * @param dict
     * @return
     */
    boolean dictAdd(Dict dict);
    /**
     * 修改字典信息
     *
     * @param dict
     * @return
     */
    boolean dictUpdate(Dict dict);

    /**
     * 删除字典信息
     *
     * @param dict
     * @return
     */
    boolean dictDelete(Map<String,Object> map);

    /**
     * 获取单条字典信息
     * @param map
     * @return
     */
    Dict getDictInfo(Map<String, Object> map);
    /**
     * 校验字典是否存在
     *
     * @param dict
     * @return
     */
    Integer validateDict(Dict dict);
    /**
     * 查询'字典详细列表
     *
     * @param dataPage
     * @return
     */
//    PageInfo<DictDetail> dictDetailQuery(DataPage<DictDetail> dataPage);
    List<ZtreeModel> dictDetailQuery(DictDetail dictDetail);
    /**
     * 插入字典详情
     * @param dictDetail
     * @return
     */
    boolean insertDictDetail(DictDetail dictDetail);

    /**
     * 更新字典详情
     * @param dictDetail
     * @return
     */
    boolean updateDictDetail(DictDetail dictDetail);

    /**
     * 删除字典详情
     * @param map
     * @return
     */
    boolean deleteDictDetail(Map<String,Object> map);

    /**
     * 获取单条字典信息
     * @param map
     * @return
     */
    DictDetail getDictDetailInfo(Map<String,Object> map);

    /**
     * 验证字典详情是否存在
     * @param dictDetail
     * @return
     */
    Integer validateDictDetail(DictDetail dictDetail);
}
